import  request from "@/utils/request"

export interface reqCategoryItemType{
    id:number
    name:string
    category1Id?: number;
    category2Id?: number;
}
export type reqCategoryType = reqCategoryItemType[];

//1.请求一级列表
export const requestCategory1 =()=>{
    return request.get<any,reqCategoryType>(`/admin/product/getCategory1`)
}

//2.请求二级分类
export const requestCategory2 =(category1Id: number)=>{
    return request.get<any,reqCategoryType>(`/admin/product/getCategory2/${category1Id}`)
}

//3.请求三级分类分类
export const requestCategory3 =(category2Id:number)=>{
    return request.get<any,reqCategoryType>(`/admin/product/getCategory3/${category2Id}`)
}

//根据category3Id请求列表数据
    // 某个属性内属性值列表的类型
    export interface attrValueListType{
        id?:number,
        valueName: string;
        attrId: number | undefined;
        isEdit?:boolean
    }
    //某个属性的类型
    export interface attrListItemType {
        id?: number;
        attrName: string;
        categoryId: number;
        categoryLevel: number;
        attrValueList: attrValueListType[];
    }
    //属性列表的 类型
    export  type attrListType = attrListItemType[]

//4.获取当前三级列表的数据
export const requestAttrList=(
    category1Id: number,
    category2Id: number,
    category3Id: number
)=>{
    return request.get<any,attrListType>(`/admin/product/attrInfoList/${category1Id}/${category2Id}/${category3Id}`)
}
//5.删除某个数据
export const requestDeleteAttr =(attrId: number)=>{
    return request.delete<any,null>(`/admin/product/deleteAttr/${attrId}`)
}
//6.新增和修改某个数据
export const requestUpdateOrAddAttr =(newAttr: attrListItemType)=>{
    return request.post<any,null>(`/admin/product/saveAttrInfo`,newAttr)
}

